In a budget, the term “cash flow” refers to expenditure and income transactions occurring over a period of time, and the period of time can extend from a past date, through the present, and into the future. Starting with a known balance of money at a beginning date, each transaction is applied over the period of time to create a running balance until the ending date. Analyzing the detailed series of transactions and running balance helps people to understand income and spending patterns and recognize opportunities to improve their financial situation.
For each transaction in a cash flow, there are certain key parameters, including the amount of the transaction and the date that the transaction occurs. If the transactions are included in multiple accounts, such as a checking account and a credit card account, the account in which a transaction occurs should also be designated in the cash flow. Each transaction may also be assigned to a category that represents a type of transaction, such as “automobile expenses.” For transactions that have already occurred, the payee will be known. If some transactions are set up to recur at regular intervals, then the frequency of the transactions will already be known.
It is important to distinguish between cash flow and a budget. A budget is simply an estimate of future income and expenses, without the detail of the timing of transactions that is inherent in a cash flow. Budgeted income and expenses are often compared with actual transactions as they occur. Typically, a budget will include a sum of expenses or income in a given category that is used to determine how much spending/income is expected occur over a specified time period, such as a quarter or a year. Furthermore, several of the parameters associated with cash flow transactions are often not known for budgeted income and expenses. While an amount may be estimated for a budgeted income or expense item, the transaction dates for the budgeted item within the budget period are usually not known. Similarly, a person may know the general category to which a budgeted item relates, but often does not know the specific account that will be used for an actual transaction. Thus, a budget does not enable the detailed analysis of a financial condition over time that a cash flow does. It is therefore desirable to be able to forecast a detailed cash flow to understand future income and spending patterns and recognize opportunities to improve a financial situation.
Previous attempts at forecasting have generally been limited to extending recurring transactions out into the future to determine a final account balance based only upon those transactions. Other current cash flow analysis tools provide for making simple projections, such as by simply copying past transactions into a future time period, or averaging transactions over a period of time to determine an average for the transactions into the future. However, past transactions will often not occur in the same amounts or on the same dates in the future. Also, a person may be able to plan more effectively if past transactions are first analyzed for patterns, and the amounts, categories, and relative frequency are also considered. Often an arbitrary frequency is imposed by averaging. For example, each category of actual expenses incurred over a previous year may be summed and divided by twelve to create a monthly budget item for each category of expenses. However, averaging data for a category fails to consider granular details relative to when income and expenditures occurred and thus does not consider details about the timing of transactions. Furthermore, neither copied nor averaged transactions takes into account data from a manually entered estimate of future income and expenses that may be significantly different than the past transactions. Also, additional complexity is introduced in the forecasting of transactional data when the cash flow forecast involves multiple accounts.
It is therefore desirable to enable automatic analysis of past transactions to identify patterns useful for automatically generating a budget usable for creating a detailed cash flow forecast. Also, it is desirable to enable a person to provide alternate estimates of transactions that can be used in the automatically produced budget to create modified detailed cash flow forecast. It is further desirable that such a cash flow forecast accurately predict income and expenditure transactions in multiple categories and for one or more selected accounts. Another desirable feature would be to enable a person to select a number of criteria that govern how a cash flow forecast is derived, and to carry out dynamic “what-if” scenarios to derive cash flow forecasts on-the-fly by changing transactions. Yet another desirable feature would be to provide a person with an interface that displays cash flow forecast both graphically and as a list of transactions, enabling the person to modify the graphical and list displays by selecting from among various options. For example, a person should be able to select a portion of a line in the graphical display to obtain a list of transactions corresponding to the selected portion. Conversely, the person should be able to edit a value in the list of transactions, causing the cash flow forecast to be recalculated and the graphical display updated to reflect the change.